package com.learning.platform.dto;

import java.time.LocalDateTime;
import java.util.List;

public class CategoryResponse {
    private Long id;
    private String name;
    private String description;
    private Long parentId;
    private Integer sortOrder;
    private LocalDateTime createdAt;
    private Long courseCount;
    private List<CategoryResponse> children;
    
    // 构造方法
    public CategoryResponse() {}
    
    public CategoryResponse(Long id, String name, String description, Long parentId, 
                          Integer sortOrder, LocalDateTime createdAt) {
        this.id = id;
        this.name = name;
        this.description = description;
        this.parentId = parentId;
        this.sortOrder = sortOrder;
        this.createdAt = createdAt;
    }
    
    // Getters and Setters
    public Long getId() {
        return id;
    }
    
    public void setId(Long id) {
        this.id = id;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getDescription() {
        return description;
    }
    
    public void setDescription(String description) {
        this.description = description;
    }
    
    public Long getParentId() {
        return parentId;
    }
    
    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }
    
    public Integer getSortOrder() {
        return sortOrder;
    }
    
    public void setSortOrder(Integer sortOrder) {
        this.sortOrder = sortOrder;
    }
    
    public LocalDateTime getCreatedAt() {
        return createdAt;
    }
    
    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }
    
    public Long getCourseCount() {
        return courseCount;
    }
    
    public void setCourseCount(Long courseCount) {
        this.courseCount = courseCount;
    }
    
    public List<CategoryResponse> getChildren() {
        return children;
    }
    
    public void setChildren(List<CategoryResponse> children) {
        this.children = children;
    }
}


